/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * articulos_sie_rep_resxsubfam_detalle.java
 *
 * Created on 11/04/2011, 09:34:25 AM
 */

package sie_invdis;


import java.sql.*;
import javax.swing.*;

import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTable.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.text.*;
import javax.swing.JFrame;

import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RefineryUtilities;
/**
 *
 * @author Michelle
 */
public class articulos_sie_rep_resxsubfam_detalle extends javax.swing.JFrame {
   private javax.swing.table.DefaultTableModel jtable_modelo;
   private javax.swing.table.DefaultTableModel jtable_modelo_invextie;
   private javax.swing.table.DefaultTableModel jtable_modelo_ventasxmes;
   private javax.swing.table.DefaultTableModel jtable_modelo_comprasxmes;
   private javax.swing.table.DefaultTableModel jtable_modelo_resrotinv;
   private javax.swing.table.DefaultTableModel jtable_modelo_articyestadis;
   private javax.swing.table.DefaultTableModel jtable_modelo_resumen;
      //private javax.swing.table.DefaultTableModel jtable_tiendas;
      private JTable jtable_tiendas=variables_global.gettabla_tiendas();
      private java.util.Date fechahoy=new Date();
      private int visualisa=0,controlcombo=0,idsubfam=0,indexactual=1,yacargueestaventa=0;
      private String montominimo="",promocionesactivas="",nombresubfam="",esquesele="all";
      bd_conexion x = new bd_conexion();
      ResultSet rs = null;
      private float totalcostogral=0,totalcostovendido=0;
      private SimpleDateFormat formateadoresta = new SimpleDateFormat("yyyy-MM-dd");
    /** Creates new form articulos_sie_rep_resxsubfam_detalle */
    public articulos_sie_rep_resxsubfam_detalle() {
        
        initComponents();

      
    }

    public articulos_sie_rep_resxsubfam_detalle(int subfam, String nomsub) {
        this.iniciar_modelo_de_tabla();
        this.iniciar_modelo_artiyesta();
        this.iniciar_modelo_comprasxmes();
        this.iniciar_modelo_invxtie();
        this.iniciar_modelo_resrotinve();
        this.iniciar_modelo_ventasxmes();
        this.iniciar_modelo_resumenreporte();
        initComponents();

        nombresubfam=nomsub;
        idsubfam=subfam;
       // x.estableceConexion();
         jt_invextempo.getTableHeader().setPreferredSize(new Dimension(jt_invextempo.getTableHeader().getWidth(),35));
         jt_invextempo.getTableHeader().setBackground(Color.yellow);
         jt_invextempo.getColumnModel().getColumn(0).setPreferredWidth(160);//tem ent
         this.cargar_datosinvextempo(subfam);

         jt_vengenxmes.getTableHeader().setPreferredSize(new Dimension(jt_vengenxmes.getTableHeader().getWidth(),35));
         jt_vengenxmes.getTableHeader().setBackground(Color.yellow);
         this.cargar_datosventaxmes(subfam);

         jt_comprasxmes.getTableHeader().setPreferredSize(new Dimension(jt_comprasxmes.getTableHeader().getWidth(),35));
         jt_comprasxmes.getTableHeader().setBackground(Color.yellow);
         this.cargar_datoscomprasxmes(subfam);
         
         jt_invextie.getTableHeader().setPreferredSize(new Dimension(jt_invextie.getTableHeader().getWidth(),35));
         jt_invextie.getTableHeader().setBackground(Color.yellow);
         this.cargar_datosinvextie(subfam);
         jt_rotacioninve.getTableHeader().setPreferredSize(new Dimension(jt_rotacioninve.getTableHeader().getWidth(),35));
         jt_rotacioninve.getTableHeader().setBackground(Color.yellow);
         this.cargar_datosrotacioninve();
         
         jt_articulosestadisticas.getTableHeader().setPreferredSize(new Dimension(jt_articulosestadisticas.getTableHeader().getWidth(),35));
         jt_articulosestadisticas.getTableHeader().setBackground(Color.yellow);

         jt_articulosestadisticas.getColumnModel().getColumn(0).setPreferredWidth(60);//tem ent
         jt_articulosestadisticas.getColumnModel().getColumn(1).setPreferredWidth(60);//tem venta
         jt_articulosestadisticas.getColumnModel().getColumn(2).setPreferredWidth(60);//familia
         jt_articulosestadisticas.getColumnModel().getColumn(3).setPreferredWidth(10);//id
         jt_articulosestadisticas.getColumnModel().getColumn(4).setPreferredWidth(55);//clave
         jt_articulosestadisticas.getColumnModel().getColumn(5).setPreferredWidth(80);//descrip.
         jt_articulosestadisticas.getColumnModel().getColumn(6).setPreferredWidth(55);//item
         jt_articulosestadisticas.getColumnModel().getColumn(7).setPreferredWidth(35);//linea
         jt_articulosestadisticas.getColumnModel().getColumn(8).setPreferredWidth(10);//costo
         jt_articulosestadisticas.getColumnModel().getColumn(9).setPreferredWidth(10);//precio
         jt_articulosestadisticas.getColumnModel().getColumn(10).setPreferredWidth(35);//f.ult. compra
         jt_articulosestadisticas.getColumnModel().getColumn(11).setPreferredWidth(10);//p vendida
         jt_articulosestadisticas.getColumnModel().getColumn(12).setPreferredWidth(10);//exixtencia
         jt_articulosestadisticas.getColumnModel().getColumn(13).setPreferredWidth(15);//rotacion
         jt_articulosestadisticas.getColumnModel().getColumn(13).setPreferredWidth(45);//foto


         jt_articulosestadisticas.getTableHeader().setBackground(Color.yellow);
         
this.setLocation(25,25);
        this.setTitle("Estadisticas del Proveedor:"+subfam+" "+nombresubfam);
         this.loadcombo();
         controlcombo=1;

    }


private void cargar_datosinvextempo(int subf)
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
            String texto="",texto2="";
            java.util.Date fechainicial=new Date();
            ResultSet rs2 = null;
             float importe=0,importe2=0,acumulado=0;
            DecimalFormat myForma = new DecimalFormat("###,###,###,###");
            int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0;

            Object[] fnewRow = new Object[numerotiendas+4];

            texto="select * from x1sieuno_articulo_temporadas() as (id smallint,descrip character varying(25));";
             System.out.println(texto);
            try{

              rs=x.sieuno_executediversosv2(texto,variables_global.getconexiongral());

              while (rs.next())
                    {
                       fnewRow[0]="<html><h4><b>"+rs.getString("descrip")+"</b></h4></html>";
                       importe2=0;
                       for(ii=0;ii<numerotiendas;ii++)
                        {

                            importe=0;
                            texto2="select * from x1sieuno_articulo_costosxsubfamtempo('"+this.jtable_tiendas.getValueAt(ii,2).toString()+"',"+rs.getInt("id")+","+subf + ") as (subfam integer,tempoingre smallint, costo double precision);";

                            System.out.println(texto2);
                            try{
                                  rs2 = x.sieuno_executediversosv2(texto2,variables_global.getconexiongral());
                                  while (rs2.next())
                                    {
                                        importe+=Float.valueOf(rs2.getFloat("costo"));

                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

                              fnewRow[1+ii]=myForma.format(importe);
                              importe2+=importe;

                        }
                        fnewRow[1+ii]=myForma.format(importe2);
                        acumulado+=importe2;
                        fnewRow[2+ii]=myForma.format(acumulado);
                        jtable_modelo.addRow(fnewRow);
                        totalcostogral=acumulado;
                    }//consulto cada temporada

            }catch(Exception e)
                {
                   System.out.println(e.getMessage());
                }

}

private void cargar_datosinvextie(int subf)
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
            String texto="",texto2="";
            java.util.Date fechainicial=new Date();
            ResultSet rs2 = null;
             float importe=0,importe2=0,acumulado=0,piezas=0,piezas2=0;
            DecimalFormat myForma = new DecimalFormat("###,###,###,###");
            int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0;

            Object[] fnewRow = new Object[numerotiendas+2];
            Object[] fnewRowcos = new Object[numerotiendas+2];
            Object[] fnewRowpor = new Object[numerotiendas+2];

            fnewRow[0]="<html><h4><b>"+"Piezas"+"</b></h4></html>";
            fnewRowcos[0]="<html><h4><b>"+"Costo"+"</b></h4></html>";
            fnewRowpor[0]="<html><h4><b>"+"Porcentaje"+"</b></h4></html>";
                       for(ii=0;ii<numerotiendas;ii++)
                        {

                            importe=0;
                            texto2="select * from x1sieuno_articulo_costosxsubfamyexis('"+this.jtable_tiendas.getValueAt(ii,2).toString()+"',"+subf + ") as (subfam integer,piezas double precision, costo double precision);";

                            System.out.println(texto2);
                            try{
                                  rs2 = x.sieuno_executediversosv2(texto2,variables_global.getconexiongral());
                                  while (rs2.next())
                                    {
                                        piezas=rs2.getFloat("piezas");
                                        importe=rs2.getFloat("costo");

                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

                              fnewRow[1+ii]=myForma.format(piezas);
                              fnewRowcos[1+ii]=myForma.format(importe);
                              fnewRowpor[1+ii]=myForma.format((importe/totalcostogral)*100)+"%";
                              importe2+=importe;
                              piezas2+=piezas;

                        }
                        fnewRow[1+ii]=myForma.format(piezas2);
                        fnewRowcos[1+ii]=myForma.format(importe2);
                        
                        jtable_modelo_invextie.addRow(fnewRow);
                        jtable_modelo_invextie.addRow(fnewRowcos);
                        jtable_modelo_invextie.addRow(fnewRowpor);



}

private void cargar_datosventaxmes(int subf)
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
            String texto="",texto2="";
            java.util.Date fechainicial=new Date();
            ResultSet rs2 = null;
             float importe=0,importe2=0,acumulado=0,piezas=0,piezas2=0;
            DecimalFormat myForma = new DecimalFormat("###,###,###,###");
            Object[] fnewRow = new Object[6];
                 importe=0;
                       texto2="select * from x1sieuno_articulo_ventasxsubfammensual("+subf+") as (fecha date,fe text,subfam integer,piezas real, importeneto double precision,importecosto double precision,utili double precision);";
                            System.out.println(texto2);
                            try{
                                  rs2 = x.sieuno_executediversosv2(texto2,variables_global.getconexiongral());
                                  while (rs2.next())
                                    {
                                      fnewRow[0]="<html><h4><b>"+rs2.getString("fe")+"</b></h4></html>";
                                      fnewRow[1]=""+myForma.format(rs2.getFloat("piezas"))+"";
                                      fnewRow[2]=""+myForma.format(rs2.getFloat("importecosto"))+"";
                                      fnewRow[3]=""+myForma.format(rs2.getFloat("importeneto"))+"";
                                      fnewRow[4]=""+myForma.format(rs2.getFloat("utili"))+"";
                                      if(rs2.getFloat("utili") > 0 )
                                        {
                                          fnewRow[5]=""+myForma.format((rs2.getFloat("utili")/rs2.getFloat("importecosto"))*100)+"";
                                        }
                                      else{
                                          fnewRow[5]="";
                                      }
                                      totalcostovendido+=rs2.getFloat("importecosto");
                                      jtable_modelo_ventasxmes.addRow(fnewRow);
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

}

private void cargar_datoscomprasxmes(int subf)
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
            String texto="",texto2="";
            java.util.Date fechainicial=new Date();
            ResultSet rs2 = null;
             float importe=0,importe2=0,acumulado=0,piezas=0,piezas2=0;
            DecimalFormat myForma = new DecimalFormat("###,###,###,###");


            Object[] fnewRow = new Object[3];
                 importe=0;
                       texto2="select * from x1distribucion_compras_subfamxmes("+subf+")  as (fecha date,fe text,subfam smallint,piezas numeric, importeneto numeric);";

                            System.out.println(texto2);
                            try{
                                  rs2 = x.sieuno_executediversosv2(texto2,variables_global.getconexiongral());
                                  while (rs2.next())
                                    {
                                      fnewRow[0]="<html><h4><b>"+rs2.getString("fe")+"</b></h4></html>";
                                      fnewRow[1]=""+myForma.format(rs2.getFloat("piezas"))+"";
                                      fnewRow[2]=""+myForma.format(rs2.getFloat("importeneto"))+"";
                                      jtable_modelo_comprasxmes.addRow(fnewRow);
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }






}

private void cargar_datosrotacioninve()
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA

            DecimalFormat myForma = new DecimalFormat("###,###,###,###");
            Object[] fnewRow = new Object[5];
            fnewRow[0]=""+myForma.format(totalcostogral+totalcostovendido)+"";
            fnewRow[1]=""+myForma.format(totalcostovendido)+"";
            fnewRow[2]=""+myForma.format(totalcostogral)+"";
            fnewRow[3]=""+myForma.format((totalcostovendido/(totalcostogral+totalcostovendido))*100)+"%";
            fnewRow[4]=""+this.jt_vengenxmes.getRowCount()+"";
           jtable_modelo_resrotinv.addRow(fnewRow);

}

private void cargar_datosarticulosexisyacum(int opcion,String esquema,int subf)
{
      //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
 //inicio proceso para informar de las promociones en cada tienda
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
            String texto="",texto2="";
            java.util.Date fechainicial=new Date();
            ResultSet rs2 = null;
             float importe=0,importe2=0,acumulado=0,piezas=0,piezas2=0;
            DecimalFormat myForma = new DecimalFormat("###,###,###,###");
            String htmlabre="<html><BODY>",htmlcierra="</BODY></html>",colorabre="",colorcierra="";
            this.LimpiarJTable();
            
            Object[] fnewRow = new Object[15];
                 importe=0;
                 texto2="select * from x1sieuno_articulo_exist_y_acumventasv2("+opcion+",'"+esquema+"',"+subf+") as (id integer, clave_producto character varying(16),cod_barra character varying(16), descripcion character varying(80), ultimo_cos numeric,id_familia integer,id_subfam integer, item character varying(80), precio_1 numeric, fecha_ult_com date, idtempoingreso smallint,idtempoventa smallint,idlinea smallint,nombrefamilia character varying(30),nombresubfamilia character varying(50),nombretemporada character varying(25),nombrelinea character varying(25),existencia double precision,cantidadvendida real,descritemventa character varying(25));";

                            System.out.println(texto2);
                            try{
                                  rs2 = x.sieuno_executediversosv2(texto2,variables_global.getconexiongral());
                                  while (rs2.next())
                                    {
                                      fnewRow[0]=""+rs2.getString("nombretemporada")+"";
                                      fnewRow[1]=""+rs2.getString("descritemventa")+"";
                                      fnewRow[2]=""+rs2.getString("nombrefamilia")+"";
                                      fnewRow[3]=""+rs2.getString("id")+"";
                                      fnewRow[4]=""+rs2.getString("clave_producto")+"";
                                      fnewRow[5]=""+rs2.getString("descripcion")+"";
                                      fnewRow[6]=""+rs2.getString("item")+"";
                                      fnewRow[7]=""+rs2.getString("nombrelinea")+"";
                                      fnewRow[8]=""+rs2.getString("ultimo_cos")+"";
                                      fnewRow[9]=""+rs2.getString("precio_1")+"";
                                      fnewRow[10]=""+this.fechaeuropea(rs2.getString("fecha_ult_com"))+"";
                                      fnewRow[11]=""+rs2.getString("cantidadvendida")+"";
                                      fnewRow[12]=""+rs2.getString("existencia")+"";
                                      piezas=rs2.getFloat("cantidadvendida");
                                      piezas2=rs2.getFloat("existencia");
                                      acumulado=piezas+piezas2;
                                      importe=(piezas/acumulado)*100;
                                       colorabre="";
                                       colorcierra="";
                                    if (importe<=50)
                                        {
                                            colorabre="<b><font color=#CC0000>";
                                            colorcierra="<font></b>";
                                        }
                                    if ((importe>50) && (importe<=75))
                                            {
                                                colorabre="<b><font color=#FF6633>";
                                                colorcierra="<font></b>";
                                            }
                                      if (importe>75)
                                            {
                                                colorabre="<b><font color=#00FF00>";
                                                colorcierra="<font></b>";
                                            }
                                      fnewRow[13]=htmlabre+colorabre+myForma.format(importe)+"%"+colorcierra+htmlcierra;
                                      fnewRow[14]="";
                                      jtable_modelo_articyestadis.addRow(fnewRow);
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }



}

void LimpiarJTable()
    {
     //limpiar la tabla
        while(jtable_modelo_articyestadis.getRowCount()>0)jtable_modelo_articyestadis.removeRow(0);
    }
private void iniciar_modelo_resumenreporte()
    {
        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;
        jtable_modelo_resumen=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_resumen.addColumn("Mes/Tienda");
        for(int i=0;i<numerotiendas;i++)
           {
                 jtable_modelo_resumen.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,1).toString()+":"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
        jtable_modelo_resumen.addColumn("Totales");

        int numerocolumnas=this.jtable_modelo_resumen.getColumnCount();
        Object[] fnewRow = new Object[numerocolumnas];
        fnewRow[0]="<html><h3><b>Piezas: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);

        fnewRow[0]="<html><h3><b>Precio: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);
        fnewRow[0]="<html><h3><b>Costo: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);

        fnewRow[0]="<html><h3><b>Utilidad: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);

        fnewRow[0]="<html><h3><b>%: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);

        fnewRow[0]="<html><h3><b>Costo Actual Inve.: "+"</b></h3></html>";
            for( ii=1;ii<numerocolumnas;ii++)
                {
                    fnewRow[ii]="0";
                }
        jtable_modelo_resumen.addRow(fnewRow);

    }
private void contruir_reporte_resumen(int opcion,String idtie,String fechai,String fecha,String idclasif)
    {
        //fecha es la final del reporte

        DecimalFormat miformat = new DecimalFormat("###,###,###,###");
        int numerotiendas=this.jtable_modelo_resumen.getColumnCount()-2;
        String mespartido[]=null,text="";
        float importecosto=0;
        int columnatitulo=0;
               try
                {
                 //rs = x.sieuno_ventas_cortedia(tienda,pFecha,i);
                 text="select * from x1ventasxdiferentesclasificaciones("+opcion+",'"+idtie+"','"+fechai+"','"+fecha+"',"+idclasif+") as (id integer, can real,importe double precision,importecosto double precision,utilidad double precision,nom text);";
                 System.out.println(text);
                 rs=x.sieuno_executediversosv2(text,variables_global.getconexiongral());
                 while (rs.next())
                        {
                            mespartido=rs.getString("nom").split(":");
                            columnatitulo=this.findcolumna_idtiendaresumen(mespartido[0]);
                            jtable_modelo_resumen.setValueAt(miformat.format(rs.getFloat("can")),0 ,columnatitulo);
                            jtable_modelo_resumen.setValueAt(miformat.format(rs.getFloat("importe")),1 ,columnatitulo);
                            jtable_modelo_resumen.setValueAt(miformat.format(rs.getFloat("importecosto")),2 ,columnatitulo);
                            jtable_modelo_resumen.setValueAt(miformat.format(rs.getFloat("utilidad")),3 ,columnatitulo);
                        }
                }
                catch(Exception e)
                    {
                        System.out.println(e.getMessage());
                    }

         try
            {
                 //rs = x.sieuno_ventas_cortedia(tienda,pFecha,i);
                 text="select * from x1sieuno_articulo_costos_varios("+opcion+",0,'"+idclasif+"','') as (idsubfam integer,importe double precision,nombre text);";
                 rs=x.sieuno_executediversosv2(text,variables_global.getconexiongral());
                 while (rs.next())
                        {
                            mespartido=rs.getString("nombre").split(":");
                            columnatitulo=this.findcolumna_idtiendaresumen(mespartido[0]);
                            importecosto+=rs.getFloat("importe");
                            jtable_modelo_resumen.setValueAt(miformat.format(rs.getFloat("importe")),5,columnatitulo);
                        }
                        jtable_modelo_resumen.setValueAt("<html><h3><b>"+miformat.format(importecosto)+"</b></h3></html>",5,numerotiendas+1);
             }
                 catch(Exception e)
                     {
                             System.out.println(e.getMessage());
                     }

                     this.contruir_totales_resumen();

 }

private int findcolumna_idtiendaresumen (String titulo)  {
  int columnas = jtable_modelo_resumen.getColumnCount(),columencontrado=0;
  String columtitulo[]=null;
      for(int j = 0 ;j < columnas ; j++)
                {
                    columtitulo= jtable_modelo_resumen.getColumnName(j).replace("<html><b>","").split(":");
                     System.out.println("Busqueda:"+columtitulo[0]+" "+titulo);
                    if(columtitulo[0].equals(titulo))
                        {
                            columencontrado=j;
                             System.out.println(titulo+" "+columtitulo[0]+" "+columencontrado);
                        }
                }
    return columencontrado;
}
private void contruir_totales_resumen()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0,totalpiezas=0;
         int totalfilasreporte=this.jtable_modelo_resumen.getRowCount()-2,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_resumen.getColumnCount()-2;
         //genero los totales por tienda

           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                   for( ii=0;ii<numerotiendas;ii++)
                        {
                            totalve+=Float.valueOf(jtable_modelo_resumen.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                        }
                        jtable_modelo_resumen.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
          totalpiezas=Float.valueOf(jtable_modelo_resumen.getValueAt(0, numerotiendas+1).toString().replace(",","").replace(".","").replace("<html><h3><b>", "").replace("</b></h3></html>", ""));
           System.out.println(totalpiezas);
          for( ii=0;ii<numerotiendas;ii++)
                 {
                  totalve=Float.valueOf(jtable_modelo_resumen.getValueAt(0, ii+1).toString().replace(",","").replace(".",""));
                  System.out.println(totalve);
                  jtable_modelo_resumen.setValueAt("<html><h3><b>"+myFormatter.format((totalve/totalpiezas)*100)+"%</b></h3></html>",4,ii+1);
                 }
     }




private void contruir_grafica_costo()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo_resumen.getRowCount()-2,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_resumen.getColumnCount()-2;
         float totalve=0;
         for( ii=0;ii<numerotiendas;ii++)
            {
                System.out.println(totalfilasreporte);
                totalve=Float.valueOf(jtable_modelo_resumen.getValueAt(5, ii+1).toString().replace(",","").replace(".","").replace("<html><h3><b>","").replace("</b></h3></html>", ""));

                titulografico=jtable_modelo_resumen.getColumnName(ii+1).replace("<html><b>","").replace("</b></html>","");
                if(totalve>0)
                    {
                        datasetbarra.addValue(totalve,titulografico,"Tiendas");
                    }

         }
       //System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbtempo = new graficacion_varios_barras("Sistema Integral: Estadisticas costos Proveedor",datasetbarra,"Resumen de inventarios Proveedor :"+nombresubfam+" "+idsubfam,"Tiendas");
        gvbtempo.pack();
        RefineryUtilities.centerFrameOnScreen(gvbtempo);
        gvbtempo.setVisible(true);
        //this.jif_graficaarticulos.getParent().add(gvbtempo);
     }
    /** This method is called from within the constructor to


     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel2 = new javax.swing.JPanel();
        jPanel7 = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        jt_articulosestadisticas = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jPanel3 = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        jt_vengenxmes = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }}

            ;
            jPanel4 = new javax.swing.JPanel();
            jScrollPane3 = new javax.swing.JScrollPane();
            jt_comprasxmes = new javax.swing.JTable(){
                public boolean isCellEditable(int rowIndex, int mColIndex) {
                    return false;
                }}

                ;
                jPanel6 = new javax.swing.JPanel();
                jScrollPane5 = new javax.swing.JScrollPane();
                jt_rotacioninve = new javax.swing.JTable(){
                    public boolean isCellEditable(int rowIndex, int mColIndex) {
                        return false;
                    }}

                    ;
                    jPanel1 = new javax.swing.JPanel();
                    jcbx_tiendas = new javax.swing.JComboBox();
                    jcb_verfotos = new javax.swing.JCheckBox();
                    jp_exiycosxtem = new javax.swing.JPanel();
                    jScrollPane1 = new javax.swing.JScrollPane();
                    jt_invextempo = new javax.swing.JTable()
                    {
                        public boolean isCellEditable(int rowIndex, int mColIndex) {
                            return false;
                        }}

                        ;
                        jp_invxtienda = new javax.swing.JPanel();
                        jScrollPane2 = new javax.swing.JScrollPane();
                        jt_invextie = new javax.swing.JTable()
                        {
                            public boolean isCellEditable(int rowIndex, int mColIndex) {
                                return false;
                            }}

                            ;
                            jPanel5 = new javax.swing.JPanel();
                            jPanel8 = new javax.swing.JPanel();
                            jScrollPane7 = new javax.swing.JScrollPane();
                            jt_ventasmensuales = new javax.swing.JTable()
                            {
                                public boolean isCellEditable(int rowIndex, int mColIndex) {
                                    return false;
                                }
                            }
                            ;
                            jCheckBox1 = new javax.swing.JCheckBox();
                            jCheckBox2 = new javax.swing.JCheckBox();
                            jMenuBar1 = new javax.swing.JMenuBar();
                            jMenu1 = new javax.swing.JMenu();
                            jmni_salir = new javax.swing.JMenuItem();
                            jMenu2 = new javax.swing.JMenu();
                            jmni_escape = new javax.swing.JMenuItem();
                            jMenu3 = new javax.swing.JMenu();

                            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
                            setName("Form"); // NOI18N

                            jTabbedPane1.setName("jTabbedPane1"); // NOI18N
                            jTabbedPane1.addChangeListener(new javax.swing.event.ChangeListener() {
                                public void stateChanged(javax.swing.event.ChangeEvent evt) {
                                    jTabbedPane1StateChanged(evt);
                                }
                            });

                            jPanel2.setName("jPanel2"); // NOI18N

                            org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(sie_invdis.Sie_invdisApp.class).getContext().getResourceMap(articulos_sie_rep_resxsubfam_detalle.class);
                            jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel7.border.title"))); // NOI18N
                            jPanel7.setName("jPanel7"); // NOI18N

                            jScrollPane6.setName("jScrollPane6"); // NOI18N

                            jt_articulosestadisticas.setModel(this.jtable_modelo_articyestadis);
                            jt_articulosestadisticas.setName("jt_articulosestadisticas"); // NOI18N
                            jt_articulosestadisticas.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_articulosestadisticasMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclick(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane6.setViewportView(jt_articulosestadisticas);

                            javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
                            jPanel7.setLayout(jPanel7Layout);
                            jPanel7Layout.setHorizontalGroup(
                                jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 995, Short.MAX_VALUE)
                            );
                            jPanel7Layout.setVerticalGroup(
                                jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 229, Short.MAX_VALUE)
                            );

                            jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel3.border.title"))); // NOI18N
                            jPanel3.setName("jPanel3"); // NOI18N

                            jScrollPane4.setName("jScrollPane4"); // NOI18N

                            jt_vengenxmes.setModel(this.jtable_modelo_ventasxmes);
                            jt_vengenxmes.setName("jt_vengenxmes");
                            jt_vengenxmes.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_vengenxmesMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclickvenxmes(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane4.setViewportView(jt_vengenxmes);

                            javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
                            jPanel3.setLayout(jPanel3Layout);
                            jPanel3Layout.setHorizontalGroup(
                                jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 414, Short.MAX_VALUE)
                            );
                            jPanel3Layout.setVerticalGroup(
                                jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                            );

                            jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel4.border.title"))); // NOI18N
                            jPanel4.setName("jPanel4"); // NOI18N

                            jScrollPane3.setName("jScrollPane3"); // NOI18N

                            jt_comprasxmes.setModel(this.jtable_modelo_comprasxmes);
                            jt_comprasxmes.setName("jt_comprasxmes"); // NOI18N
                            jt_comprasxmes.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_comprasxmesMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclickcomxmes(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane3.setViewportView(jt_comprasxmes);

                            javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
                            jPanel4.setLayout(jPanel4Layout);
                            jPanel4Layout.setHorizontalGroup(
                                jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
                            );
                            jPanel4Layout.setVerticalGroup(
                                jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)
                            );

                            jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel6.border.title"))); // NOI18N
                            jPanel6.setName("jPanel6"); // NOI18N

                            jScrollPane5.setName("jScrollPane5"); // NOI18N

                            jt_rotacioninve.setModel(this.jtable_modelo_resrotinv);
                            jt_rotacioninve.setName("jt_rotacioninve"); // NOI18N
                            jt_rotacioninve.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_rotacioninveMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclickrotacion(evt);
                                        //System.out.println(" double click" );

                                    }

                                }
                            });
                            jScrollPane5.setViewportView(jt_rotacioninve);

                            javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
                            jPanel6.setLayout(jPanel6Layout);
                            jPanel6Layout.setHorizontalGroup(
                                jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 334, Short.MAX_VALUE)
                            );
                            jPanel6Layout.setVerticalGroup(
                                jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE)
                            );

                            jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
                            jPanel1.setName("jPanel1"); // NOI18N

                            jcbx_tiendas.setToolTipText(resourceMap.getString("jcbx_tiendas.toolTipText")); // NOI18N
                            jcbx_tiendas.setName("jcbx_tiendas"); // NOI18N
                            jcbx_tiendas.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jcbx_tiendasActionPerformed(evt);
                                }
                            });

                            jcb_verfotos.setText(resourceMap.getString("jcb_verfotos.text")); // NOI18N
                            jcb_verfotos.setToolTipText(resourceMap.getString("jcb_verfotos.toolTipText")); // NOI18N
                            jcb_verfotos.setName("jcb_verfotos"); // NOI18N
                            jcb_verfotos.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jcb_verfotosActionPerformed(evt);
                                }
                            });

                            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
                            jPanel1.setLayout(jPanel1Layout);
                            jPanel1Layout.setHorizontalGroup(
                                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addComponent(jcbx_tiendas, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 73, Short.MAX_VALUE)
                                    .addComponent(jcb_verfotos)
                                    .addGap(18, 18, 18))
                            );
                            jPanel1Layout.setVerticalGroup(
                                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(jcbx_tiendas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jcb_verfotos, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            );

                            jp_exiycosxtem.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jp_exiycosxtem.border.title"))); // NOI18N
                            jp_exiycosxtem.setName("jp_exiycosxtem"); // NOI18N

                            jScrollPane1.setName("jScrollPane1"); // NOI18N

                            jt_invextempo.setModel(this.jtable_modelo);
                            jt_invextempo.setName("jt_invextempo");
                            jt_invextempo.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_invextempoMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclicktempo(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane1.setViewportView(jt_invextempo);

                            javax.swing.GroupLayout jp_exiycosxtemLayout = new javax.swing.GroupLayout(jp_exiycosxtem);
                            jp_exiycosxtem.setLayout(jp_exiycosxtemLayout);
                            jp_exiycosxtemLayout.setHorizontalGroup(
                                jp_exiycosxtemLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 571, Short.MAX_VALUE)
                            );
                            jp_exiycosxtemLayout.setVerticalGroup(
                                jp_exiycosxtemLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 152, Short.MAX_VALUE)
                            );

                            jp_invxtienda.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jp_invxtienda.border.border.title")))); // NOI18N
                            jp_invxtienda.setName("jp_invxtienda"); // NOI18N

                            jScrollPane2.setName("jScrollPane2"); // NOI18N

                            jt_invextie.setModel(this.jtable_modelo_invextie);
                            jt_invextie.setName("jt_invextie");
                            jt_invextie.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_invextieMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclickinvextie(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane2.setViewportView(jt_invextie);

                            javax.swing.GroupLayout jp_invxtiendaLayout = new javax.swing.GroupLayout(jp_invxtienda);
                            jp_invxtienda.setLayout(jp_invxtiendaLayout);
                            jp_invxtiendaLayout.setHorizontalGroup(
                                jp_invxtiendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 394, Short.MAX_VALUE)
                            );
                            jp_invxtiendaLayout.setVerticalGroup(
                                jp_invxtiendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 143, Short.MAX_VALUE)
                            );

                            javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
                            jPanel2.setLayout(jPanel2Layout);
                            jPanel2Layout.setHorizontalGroup(
                                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addGroup(jPanel2Layout.createSequentialGroup()
                                            .addComponent(jp_exiycosxtem, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jp_invxtienda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
                                            .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(9, 9, 9)
                                            .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                                    .addContainerGap())
                            );
                            jPanel2Layout.setVerticalGroup(
                                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addContainerGap()
                                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jp_invxtienda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jp_exiycosxtem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                        .addGroup(jPanel2Layout.createSequentialGroup()
                                            .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE)
                                        .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addContainerGap())
                            );

                            jTabbedPane1.addTab(resourceMap.getString("jPanel2.TabConstraints.tabTitle"), jPanel2); // NOI18N

                            jPanel5.setName("jPanel5"); // NOI18N

                            jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel8.border.title"))); // NOI18N
                            jPanel8.setName("jPanel8"); // NOI18N

                            jScrollPane7.setName("jScrollPane7"); // NOI18N

                            jt_ventasmensuales.setModel(this.jtable_modelo_resumen);
                            jt_ventasmensuales.setName("jt_ventasmensuales"); // NOI18N
                            jScrollPane7.setViewportView(jt_ventasmensuales);

                            jCheckBox1.setText(resourceMap.getString("jCheckBox1.text")); // NOI18N
                            jCheckBox1.setName("jCheckBox1"); // NOI18N
                            jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jCheckBox1ActionPerformed(evt);
                                }
                            });

                            jCheckBox2.setText(resourceMap.getString("jCheckBox2.text")); // NOI18N
                            jCheckBox2.setName("jCheckBox2"); // NOI18N
                            jCheckBox2.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jCheckBox2ActionPerformed(evt);
                                }
                            });

                            javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
                            jPanel8.setLayout(jPanel8Layout);
                            jPanel8Layout.setHorizontalGroup(
                                jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup()
                                    .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 806, Short.MAX_VALUE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jCheckBox1)
                                        .addComponent(jCheckBox2)))
                            );
                            jPanel8Layout.setVerticalGroup(
                                jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup()
                                    .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 236, Short.MAX_VALUE)
                                        .addGroup(jPanel8Layout.createSequentialGroup()
                                            .addComponent(jCheckBox1)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jCheckBox2)))
                                    .addContainerGap())
                            );

                            javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
                            jPanel5.setLayout(jPanel5Layout);
                            jPanel5Layout.setHorizontalGroup(
                                jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                                    .addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addContainerGap())
                            );
                            jPanel5Layout.setVerticalGroup(
                                jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel5Layout.createSequentialGroup()
                                    .addContainerGap()
                                    .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(338, Short.MAX_VALUE))
                            );

                            jTabbedPane1.addTab(resourceMap.getString("jPanel5.TabConstraints.tabTitle"), jPanel5); // NOI18N

                            jMenuBar1.setName("jMenuBar1"); // NOI18N

                            jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
                            jMenu1.setName("jMenu1"); // NOI18N

                            jmni_salir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK));
                            jmni_salir.setIcon(resourceMap.getIcon("jmni_salir.icon")); // NOI18N
                            jmni_salir.setText(resourceMap.getString("jmni_salir.text")); // NOI18N
                            jmni_salir.setName("jmni_salir"); // NOI18N
                            jmni_salir.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jmni_salirActionPerformed(evt);
                                }
                            });
                            jMenu1.add(jmni_salir);

                            jMenuBar1.add(jMenu1);

                            jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
                            jMenu2.setName("jMenu2"); // NOI18N

                            jmni_escape.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0));
                            jmni_escape.setText(resourceMap.getString("jmni_escape.text")); // NOI18N
                            jmni_escape.setName("jmni_escape"); // NOI18N
                            jmni_escape.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jmni_escapeActionPerformed(evt);
                                }
                            });
                            jMenu2.add(jmni_escape);

                            jMenuBar1.add(jMenu2);

                            jMenu3.setText(resourceMap.getString("jMenu3.text")); // NOI18N
                            jMenu3.setName("jMenu3"); // NOI18N
                            jMenuBar1.add(jMenu3);

                            setJMenuBar(jMenuBar1);

                            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                            getContentPane().setLayout(layout);
                            layout.setHorizontalGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 1026, Short.MAX_VALUE)
                                    .addContainerGap())
                            );
                            layout.setVerticalGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                    .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 654, Short.MAX_VALUE)
                                    .addContainerGap())
                            );

                            pack();
                        }// </editor-fold>//GEN-END:initComponents

    private void jmni_salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_salirActionPerformed
        // TODO add your handling code here:
//        x.cierraConexion();
     if(JOptionPane.showConfirmDialog(null, "Realmente Desea Salir?")==0)
        {
            this.dispose();
        }
    }//GEN-LAST:event_jmni_salirActionPerformed

    private void jcbx_tiendasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcbx_tiendasActionPerformed
        // TODO add your handling code here:
        int indeceta=this.jcbx_tiendas.getSelectedIndex();
        if (controlcombo > 0 ) {
            String arreglo_idtie[]=this.jcbx_tiendas.getSelectedItem().toString().split(":");
                        esquesele=arreglo_idtie[0];

                           if(JOptionPane.showConfirmDialog(null, "Estan Correctos sus Datos?")==0) {
                                this.cargar_datosarticulosexisyacum(1,esquesele, idsubfam);
                    }    
            

        
}
        
}//GEN-LAST:event_jcbx_tiendasActionPerformed

    private void jcb_verfotosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcb_verfotosActionPerformed
        // TODO add your handling code here:
        if(this.jcb_verfotos.isSelected()==true) {
            this.verfotosestereporte();
        } else {
            this.quitarfotosestereporte();
        }
    }//GEN-LAST:event_jcb_verfotosActionPerformed

    private void jmni_escapeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_escapeActionPerformed
        // TODO add your handling code here:
        this.jmni_salirActionPerformed(evt);
    }//GEN-LAST:event_jmni_escapeActionPerformed

    private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed
        // TODO add your handling code here:
        this.contruir_grafica_distribuciontotalventa();
}//GEN-LAST:event_jCheckBox1ActionPerformed

    private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed
        // TODO add your handling code here:
        this.contruir_grafica_costo();
}//GEN-LAST:event_jCheckBox2ActionPerformed

    private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jTabbedPane1StateChanged
        // TODO add your handling code here:
          indexactual=this.jTabbedPane1.getSelectedIndex();
          if((indexactual==1)&&(yacargueestaventa==0))
                {
                    yacargueestaventa=1;
                    this.contruir_reporte_resumen(3,"0","2010-05-01","2011-12-31",String.valueOf(idsubfam));
                }
    }//GEN-LAST:event_jTabbedPane1StateChanged

    private void jt_articulosestadisticasMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }

private void dioclick(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
         System.out.println("dio doble  click");

         int fila = jt_articulosestadisticas.getSelectedRow();
         Object valor = jt_articulosestadisticas.getValueAt(fila, 3);

        //JFrame mainFrame = Sie_invdisApp.getApplication().getMainFrame();
        articulos_sie_editar fase=new articulos_sie_editar(valor.toString());
        fase.pack();
        fase.setVisible(true);

        //setVisible(false);
    }

  private void loadcombo(){
         int numerotiendas=this.jtable_tiendas.getRowCount();
         this.jcbx_tiendas.addItem("0:Todas Las Tiendas");
          for(int ii=0;ii<numerotiendas;ii++)
                        {
                            this.jcbx_tiendas.addItem(jtable_tiendas.getValueAt(ii, 1)+":"+jtable_tiendas.getValueAt(ii, 0));
                        }
    }

private void iniciar_modelo_de_tabla()
    {


        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;

        jtable_modelo=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo.addColumn("Temporada Ingreso");
        for(int i=0;i<numerotiendas;i++)
           {
                 jtable_modelo.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
        jtable_modelo.addColumn("Total");
        jtable_modelo.addColumn("Acumulado");


       //para formatear
       //fnewRow[1+ii]=myFormatter.format(importe2);
   }
private void iniciar_modelo_invxtie()
    {


        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;

        jtable_modelo_invextie=new javax.swing.table.DefaultTableModel();//Creo el modelo
         jtable_modelo_invextie.addColumn("Concepto");
        for(int i=0;i<numerotiendas;i++)
           {
                  jtable_modelo_invextie.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
         
         jtable_modelo_invextie.addColumn("Total");
         


       //para formatear
       //fnewRow[1+ii]=myFormatter.format(importe2);
   }
private void iniciar_modelo_ventasxmes()
    {
         jtable_modelo_ventasxmes=new javax.swing.table.DefaultTableModel();//Creo el modelo
         jtable_modelo_ventasxmes.addColumn("<html><b>Mes</b></html>");
         jtable_modelo_ventasxmes.addColumn("<html><b>Cantidad Piezas</b></html>");
         jtable_modelo_ventasxmes.addColumn("<html><b>Importe Costo</b></html>");
         jtable_modelo_ventasxmes.addColumn("<html><b>Importe Venta</b></html>");
         jtable_modelo_ventasxmes.addColumn("<html><b>Utilidad</b></html>");
         jtable_modelo_ventasxmes.addColumn("<html><b>D/C</b></html>");


   }
private void iniciar_modelo_comprasxmes()
    {
         jtable_modelo_comprasxmes=new javax.swing.table.DefaultTableModel();//Creo el modelo
         jtable_modelo_comprasxmes.addColumn("<html><b>Mes</b></html>");
         jtable_modelo_comprasxmes.addColumn("<html><b>Cantidad Piezas</b></html>");
         jtable_modelo_comprasxmes.addColumn("<html><b>Importe Costo</b></html>");
   }
private void iniciar_modelo_resrotinve()
    {
         jtable_modelo_resrotinv=new javax.swing.table.DefaultTableModel();//Creo el modelo
         jtable_modelo_resrotinv.addColumn("<html><b>Inventario Inicial</b></html>");
         jtable_modelo_resrotinv.addColumn("<html><b>Costo de Lo Vendido</b></html>");
         jtable_modelo_resrotinv.addColumn("<html><b>Costo Actual</b></html>");
         jtable_modelo_resrotinv.addColumn("<html><b>% Vendido</b></html>");
         jtable_modelo_resrotinv.addColumn("<html><b>Meses</b></html>");
   }

  private void iniciar_modelo_artiyesta()
    {
        jtable_modelo_articyestadis=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_articyestadis.addColumn("<html><b>Temp. Ent.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Temp. Venta</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Familia</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Id</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Clave</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Descripcion.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Item.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Linea.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Costo</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Precio</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>F.Compra</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>P.Vendidas</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Exist.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Rot.</b></html>");
        jtable_modelo_articyestadis.addColumn("<html><b>Foto</b></html>");

   }

 private void jt_invextempoMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }


 private void jt_invextieMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }

  private void jt_vengenxmesMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }


private void jt_comprasxmesMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }
 private void jt_rotacioninveMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }

 private void dioclicktempo(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:

         System.out.println("dio doble  click");

            this.contruir_graficatemporadas();
      }
        //setVisible(false);


  private void contruir_graficatemporadas()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo.getRowCount(),i=0,ii=0;
         int numerotiendas=this.jtable_tiendas.getRowCount();

         for(i=0;i<totalfilasreporte;i++)
         {
             for(ii=0;ii<numerotiendas;ii++)
                   {
                   totaltiendatexto = jtable_modelo.getValueAt(i, ii+1).toString();

                    titulografico=jtable_modelo.getValueAt(i, 0).toString().replace("</b></h4></html>","").replace("<html><h4><b>","");
         
                    datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),titulografico,jtable_tiendas.getValueAt(ii, 0).toString());
                  }
         }

         System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbtempo = new graficacion_varios_barras("Sistema Integral: Estadisticas proveedor",datasetbarra,"Detalle Inventarios x Temporada:"+nombresubfam,"temporadas");
        gvbtempo.pack();
        RefineryUtilities.centerFrameOnScreen(gvbtempo);
        gvbtempo.setVisible(true);

     }

  private void contruir_graficainvextie()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo_invextie.getRowCount()-2,i=0,ii=0;
         int numerotiendas=this.jtable_tiendas.getRowCount();

         for(i=0;i<totalfilasreporte;i++)
         {
             for(ii=0;ii<numerotiendas;ii++)
                   {

                   totaltiendatexto = jtable_modelo_invextie.getValueAt(i+1, ii+1).toString();
                    titulografico=jtable_modelo_invextie.getValueAt(i+1, 0).toString().replace("</b></h4></html>","").replace("<html><h4><b>","");

                    datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),titulografico,jtable_tiendas.getValueAt(ii, 0).toString());
                  }
         }

         System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbinvxtie = new graficacion_varios_barras("Sistema Integral: Estadisticas proveedor Inventarios X tienda",datasetbarra,"Detalle Inventarios x Tienda:"+nombresubfam,"Tienda");
        gvbinvxtie.pack();
        RefineryUtilities.centerFrameOnScreen(gvbinvxtie);
        gvbinvxtie.setVisible(true);

     }


  private void contruir_graficaventasgral()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo_ventasxmes.getRowCount(),i=0,ii=0;


         for(i=0;i<totalfilasreporte;i++)
         {


                   totaltiendatexto = jtable_modelo_ventasxmes.getValueAt(i, 3).toString();
                    titulografico=jtable_modelo_ventasxmes.getValueAt(i, 0).toString().replace("</b></h4></html>","").replace("<html><h4><b>","");

                    datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),titulografico.substring(3, 7),titulografico.substring(0, 2));

         }

         System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbvenxmes = new graficacion_varios_barras("Sistema Integral: Estadisticas proveedor Ventas X MES",datasetbarra,"Ventas Mensuales:"+nombresubfam,"Meses");
        gvbvenxmes.pack();
        RefineryUtilities.centerFrameOnScreen(gvbvenxmes);
        gvbvenxmes.setVisible(true);

     }


   private void contruir_graficacomprasxmes()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo_comprasxmes.getRowCount(),i=0,ii=0;


         for(i=0;i<totalfilasreporte;i++)
         {


                   totaltiendatexto = jtable_modelo_comprasxmes.getValueAt(i, 2).toString();
                    titulografico=jtable_modelo_comprasxmes.getValueAt(i, 0).toString().replace("</b></h4></html>","").replace("<html><h4><b>","");

                    datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),titulografico.substring(3, 7),titulografico.substring(0, 2));

         }

         System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbvenxmes = new graficacion_varios_barras("Sistema Integral: Estadisticas proveedor Compras x Mes",datasetbarra,"Detalle Compras X Mes:"+nombresubfam,"Meses");
        gvbvenxmes.pack();
        RefineryUtilities.centerFrameOnScreen(gvbvenxmes);
        gvbvenxmes.setVisible(true);

     }

    private void contruir_graficarotinv()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";



                   totaltiendatexto = jtable_modelo_resrotinv.getValueAt(0, 0).toString();
                   datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),"Total Inventario","Rotacion");

                   totaltiendatexto = jtable_modelo_resrotinv.getValueAt(0, 1).toString();
                   datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),"Costo Vendido","Rotacion");

                   totaltiendatexto = jtable_modelo_resrotinv.getValueAt(0, 2).toString();
                   datasetbarra.addValue(Float.valueOf(totaltiendatexto.replace(",","").replace(".","")),"Costo Actual","Rotacion");


         System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbrotinv = new graficacion_varios_barras("Sistema Integral: Estadisticas proveedor Rortacion Inventario",datasetbarra,"Detalle Rotacion="+jtable_modelo_resrotinv.getValueAt(0, 3).toString()+":"+nombresubfam,"Rotacion");
        gvbrotinv.pack();
        RefineryUtilities.centerFrameOnScreen(gvbrotinv);
        gvbrotinv.setVisible(true);

     }

private String  fechaeuropea(String fecha) {

         //resibe cadena de fecha en formato americano yyyy-MM-dd
        java.util.Date fechaestaeuropa=null;
       SimpleDateFormat formateadorestaeuropa = new SimpleDateFormat("dd-MM-yyyy");
       String cadenafecha="";
        try
         {
          fechaestaeuropa = formateadoresta.parse(fecha);
         }
        catch (ParseException e)
          {
             //Error, la cadena de texto no se puede convertir en fecha.
          }
       cadenafecha= formateadorestaeuropa.format(fechaestaeuropa);
       return cadenafecha;

    }

  private void dioclickinvextie(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:

         System.out.println("dio doble  click");

            this.contruir_graficainvextie();
      }

  private void dioclickvenxmes(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:

         System.out.println("dio doble  click");

            this.contruir_graficaventasgral();
      }

  private void dioclickcomxmes(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:

         System.out.println("dio doble  click");

            this.contruir_graficacomprasxmes();
      }

  private void dioclickrotacion(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:

         System.out.println("dio doble  click");

            this.contruir_graficarotinv();
      }

private void verfotosestereporte()
    {
     this.cambiartamanofilas();
     int numerofilas=this.jtable_modelo_articyestadis.getRowCount();
             for(int i = 0 ;i < numerofilas; i++)
                {
                      jtable_modelo_articyestadis.setValueAt("<html><head></head><body><p style=\"margin-top: 0\"><img src=\"http://"+variables_global.getHostfotos()+"/"+variables_global.getcarpetaaplicacion()+"/fotos/"+jtable_modelo_articyestadis.getValueAt(i, 4).toString()+".JPG\" width=\"90\" height=\"60\" border=\"0\" alt=\"Foto\"></img></p></body></html>", i,14);
                      jt_articulosestadisticas.setRowHeight(i, 70);
                }

    }
private void quitarfotosestereporte()
    {
     int numerofilas=this.jtable_modelo_articyestadis.getRowCount();

             for(int i = 0 ;i < numerofilas; i++)
                {
                      jtable_modelo_articyestadis.setValueAt("", i,14);
                      jt_articulosestadisticas.setRowHeight(i, 15);
                }
    }

void cambiartamanofilas()
 {
     //limpiar la tabla
       int numerofilas=this.jtable_modelo_articyestadis.getRowCount();

             for(int i = 0 ;i < numerofilas; i++)
                {
                     jt_articulosestadisticas.setRowHeight(i, 70);
                }
  }


private void contruir_grafica_distribuciontotalventa()
    {
        //inicio a extraer los totales del dia sin incluir monedero es decir al reporte detalle corte
        //contruyo el grafico de lineas del cortes del dia detalle

         DefaultCategoryDataset datasetbarra = new DefaultCategoryDataset();
         String titulografico="",totaltiendatexto="";
         int totalfilasreporte=this.jtable_modelo_resumen.getRowCount()-2,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_resumen.getColumnCount()-2;
         float totalve=0;
         for( ii=0;ii<numerotiendas;ii++)
            {
                System.out.println(totalfilasreporte);
                totalve=Float.valueOf(jtable_modelo_resumen.getValueAt(1, ii+1).toString().replace(",","").replace(".","").replace("<html><h3><b>","").replace("</b></h3></html>", ""));

                titulografico=jtable_modelo_resumen.getColumnName(ii+1).replace("<html><b>","").replace("</b></html>","");
                if(totalve>0)
                    {
                        datasetbarra.addValue(totalve,titulografico,"Tiendas");
                    }

            }
       //System.out.println("se crea nuevo:");
        graficacion_varios_barras gvbtempo = new graficacion_varios_barras("Sistema Integral: Estadisticas Importe de Ventas",datasetbarra,"Resumen de Ventas X tienda Acumulado","General");
        gvbtempo.pack();
        RefineryUtilities.centerFrameOnScreen(gvbtempo);
        gvbtempo.setVisible(true);
        //this.jif_graficaarticulos.getParent().add(gvbtempo);
     }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new articulos_sie_rep_resxsubfam_detalle().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JCheckBox jCheckBox1;
    private javax.swing.JCheckBox jCheckBox2;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JCheckBox jcb_verfotos;
    private javax.swing.JComboBox jcbx_tiendas;
    private javax.swing.JMenuItem jmni_escape;
    private javax.swing.JMenuItem jmni_salir;
    private javax.swing.JPanel jp_exiycosxtem;
    private javax.swing.JPanel jp_invxtienda;
    private javax.swing.JTable jt_articulosestadisticas;
    private javax.swing.JTable jt_comprasxmes;
    private javax.swing.JTable jt_invextempo;
    private javax.swing.JTable jt_invextie;
    private javax.swing.JTable jt_rotacioninve;
    private javax.swing.JTable jt_vengenxmes;
    private javax.swing.JTable jt_ventasmensuales;
    // End of variables declaration//GEN-END:variables

}
